import Vue from 'vue'
import store from './store'
import App from './App'
import './uni.scss'
import './styles/icon.css'
import './styles/index.scss'

import json from '@/utils/request.js'
import { formatPhone } from '@/utils/index.js'
/**
 *  因工具函数属于公司资产, 所以直接在Vue实例挂载几个常用的函数
 *  所有测试用数据均存放于根目录Mock.js
 *  
 *  css部分使用了App.vue下的全局样式和iconfont图标，有需要图标库的可以留言。
 *  示例使用了uni.scss下的变量, 除变量外已尽量移除特有语法,可直接替换为其他预处理器使用
 */
const msg = (title, duration = 1500, mask = false, icon = 'none') => {
  // 统一提示方便全局修改
  if(Boolean(title) === false) {
    return
  }
  uni.showToast({
    title,
    duration,
    mask,
    icon
  })
}

const prePage = () => {
  // eslint-disable-next-line
  const pages = getCurrentPages()
  const prePage = pages[pages.length - 2]
  // #ifdef H5
  return prePage
  // #endif
  return prePage.$vm
}

Vue.config.productionTip = false
Vue.prototype.$fire = new Vue()
Vue.prototype.$store = store
Vue.prototype.$api = { msg, json, prePage }

Vue.filter('formatMobile', function(phone) {
  return formatPhone(phone)
})
Vue.filter('formatDeliveryModel', function(model) {
  switch(model) {
    case 1:
      return '每日送'
    case 2:
      return '两日送'
    case 3:
      return '双休日'
    case 4:
      return '工作日'
  }
})
App.mpType = 'app'

const app = new Vue({
  ...App
})
app.$mount()
